<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Copyright © 2006-2023 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<title>GOMP_RTEMS_THREAD_POOLS (GNU libgomp)</title>

<meta name="description" content="GOMP_RTEMS_THREAD_POOLS (GNU libgomp)">
<meta name="keywords" content="GOMP_RTEMS_THREAD_POOLS (GNU libgomp)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="Library-Index.html" rel="index" title="Library Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Environment-Variables.html" rel="up" title="Environment Variables">
<link href="GOMP_005fSPINCOUNT.html" rel="prev" title="GOMP_SPINCOUNT">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
ul.mark-bullet {list-style-type: disc}
-->
</style>


</head>

<body lang="en">
<div class="section-level-extent" id="GOMP_005fRTEMS_005fTHREAD_005fPOOLS">
<div class="nav-panel">
<p>
Previous: <a href="GOMP_005fSPINCOUNT.html" accesskey="p" rel="prev"><code class="env">GOMP_SPINCOUNT</code> &ndash; Set the busy-wait spin count</a>, Up: <a href="Environment-Variables.html" accesskey="u" rel="up">OpenMP Environment Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Library-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h3 class="section" id="GOMP_005fRTEMS_005fTHREAD_005fPOOLS-_002d_002d-Set-the-RTEMS-specific-thread-pools"><span>4.22 <code class="env">GOMP_RTEMS_THREAD_POOLS</code> &ndash; Set the RTEMS specific thread pools<a class="copiable-link" href="#GOMP_005fRTEMS_005fTHREAD_005fPOOLS-_002d_002d-Set-the-RTEMS-specific-thread-pools"> &para;</a></span></h3>
<a class="index-entry-id" id="index-Environment-Variable-21"></a>
<a class="index-entry-id" id="index-Implementation-specific-setting-6"></a>
<dl class="table">
<dt><em class="emph">Description</em>:</dt>
<dd><p>This environment variable is only used on the RTEMS real-time operating system.
It determines the scheduler instance specific thread pools.  The format for
<code class="env">GOMP_RTEMS_THREAD_POOLS</code> is a list of optional
<code class="code">&lt;thread-pool-count&gt;[$&lt;priority&gt;]@&lt;scheduler-name&gt;</code> configurations
separated by <code class="code">:</code> where:
</p><ul class="itemize mark-bullet">
<li><code class="code">&lt;thread-pool-count&gt;</code> is the thread pool count for this scheduler
instance.
</li><li><code class="code">$&lt;priority&gt;</code> is an optional priority for the worker threads of a
thread pool according to <code class="code">pthread_setschedparam</code>.  In case a priority
value is omitted, then a worker thread will inherit the priority of the OpenMP
primary thread that created it.  The priority of the worker thread is not
changed after creation, even if a new OpenMP primary thread using the worker has
a different priority.
</li><li><code class="code">@&lt;scheduler-name&gt;</code> is the scheduler instance name according to the
RTEMS application configuration.
</li></ul>
<p>In case no thread pool configuration is specified for a scheduler instance,
then each OpenMP primary thread of this scheduler instance will use its own
dynamically allocated thread pool.  To limit the worker thread count of the
thread pools, each OpenMP primary thread must call <code class="code">omp_set_num_threads</code>.
</p></dd>
<dt><em class="emph">Example</em>:</dt>
<dd><p>Lets suppose we have three scheduler instances <code class="code">IO</code>, <code class="code">WRK0</code>, and
<code class="code">WRK1</code> with <code class="env">GOMP_RTEMS_THREAD_POOLS</code> set to
<code class="code">&quot;1@WRK0:3$4@WRK1&quot;</code>.  Then there are no thread pool restrictions for
scheduler instance <code class="code">IO</code>.  In the scheduler instance <code class="code">WRK0</code> there is
one thread pool available.  Since no priority is specified for this scheduler
instance, the worker thread inherits the priority of the OpenMP primary thread
that created it.  In the scheduler instance <code class="code">WRK1</code> there are three thread
pools available and their worker threads run at priority four.
</p></dd>
</dl>




</div>
<hr>
<div class="nav-panel">
<p>
Previous: <a href="GOMP_005fSPINCOUNT.html"><code class="env">GOMP_SPINCOUNT</code> &ndash; Set the busy-wait spin count</a>, Up: <a href="Environment-Variables.html">OpenMP Environment Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Library-Index.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
